feat: Workload Identity Authentication against Azure DevOps GIT#6154
feat: Workload Identity Authentication against Azure DevOps GIT#6154mikebordon wants to merge 4 commits intoakuity:mainfrom
Conversation
✅ Deploy Preview for docs-kargo-io ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Signed-off-by: Mike Bordon <mikebordon@gmail.com>
adddc58 to
73ebb64
Compare
Signed-off-by: Mike Bordon <mikebordon@gmail.com>
Signed-off-by: Mike Bordon <mikebordon@gmail.com>
Signed-off-by: Mike Bordon <mikebordon@gmail.com>
|
I've converted this to a draft since #5812 was still labeled as a proposal requiring further discussion and had no relative degree of priority established. Please be prepared for it to be a while before the team can do its due diligence on this PR. At a glance, the code looks very solid, so to clarify what "diligence" I believe is called for here, I'm (justifiably, I think) dubious of using just on token for all of ADO. That's really quite different from what's done for ACR. It may turn out to be correct, but it's something I'd like to independently validate before moving forward. |
|
Thanks, @krancour. Makes sense. Full transparency, I'll be leaving my company at the end of the next week, so I won't be able to "properly" own this going forward. Two options: I can try to hand this off to someone else on my team to pick back up when it's ready, or we can merge the existing change from my fork into some other branch in this repo, that way you or anyone else can pick it up in the future (should you so choose). Any preference? |
Summary
Resolves #5812.
The goal of this change is to extend Azure Workload Identity support for Azure DevOps (git) repositories. This eliminates the dependency on long-lived PATs and managed secrets.
Testing
In addition to unit tests, these changes were validated against a real environment with the following (existing) configuration:
kargo.akuity.io/cred-type: gitsecretThe following changes were made to validate:
git-cloneandgit-push)azure.workload.identity/use: "true"label to Kargo controller podazure.workload.identity/client-idannotation to Kargo controller service account